package com.example.service.impl.salary;

import com.example.entity.SalaryVo;
import com.example.entity.SysStaff;
import com.example.entity.SysUser;
import com.example.mapper.salary.SalaryMapper;
import com.example.service.salary.SalaryService;
import com.example.util.R;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class SalaryServiceImpl implements SalaryService {

    @Autowired
    private SalaryMapper salaryMapper;

    /**
     * 查询所有工资信息（工资发放标准）
     *  无参数 查全部，有参数 根据条件 模糊查询（条件：员工姓名、工种名称、班组名称、项目名称）
     * @param salaryVo
     * @return
     */
    @Override
    public PageInfo<SalaryVo> salaryList(SalaryVo salaryVo) {
        // 查询结果 分页
        PageHelper.startPage(salaryVo.getPageNum(), salaryVo.getPageSize());
        return new PageInfo<>(salaryMapper.salaryList(salaryVo));
    }

    /**
     * 添加工资发放标准信息
     * @param salaryVo
     * @return
     */
    @Override
    public boolean addSalaryInfo(SalaryVo salaryVo) {
        return salaryMapper.addSalaryInfo(salaryVo);
    }

    /**
     * 根据员工姓名查询员工信息（模糊查询），查询结果可能为多条数据
     * @param staffName
     * @return
     */
    @Override
    public R findStaffInfoByName(String staffName) {
        List<SysStaff> staffList = salaryMapper.findStaffInfoByName(staffName);
        return staffList != null ? R.ok(staffList) : R.fail("当前没有该员工信息，请先添加员工！");
    }
}
